System and method for generating product visualizations

ABSTRACT

This disclosure includes a method for electronically generating a single image for product visualization. The method comprises receiving a selection of a first variation of a first consumer product layer with a first depth attribute from a plurality of variations of the first consumer product layer, each variation comprising at least one surface. The method further includes receiving a selection of a second variation of a second consumer product layer with a second depth attribute from a plurality of variations of the second consumer product layer, each variation comprising at least one surface. The method also includes layering the first variation of the first consumer product layer in the single image based at least on the first depth attribute; and layering the second variation of the second consumer product layer in the single image based at least on the second depth attribute. Related systems and apparatuses are also disclosed.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of and claims the benefit of U.S.application Ser. No. 13/768,363, filed on Feb. 15, 2013, the contents ofwhich are incorporated herein by reference in their entirety.

TECHNICAL FIELD

The present disclosure relates generally to product display, and moreparticularly to a system and method for generating productvisualizations.

BACKGROUND

With the advent of e-commerce, businesses have frequently soughtopportunities to sell and advertise products and services over theinternet, by email, or by other electronic means. However, in suche-commerce situations, the consumer is not able to observe a desiredphysical consumer product. A consumer could go to a physical location toobserve the consumer product, but that involves additional effort whichmay discourage the consumer from purchasing the consumer product. Whencustomized products are involved, because of the many possibilitiesavailable for a customized product, even if a consumer were willing togo to a physical location, a consumer may still not be able to see thedesired customized product because the customized product in desiredvariation has not been manufactured or is not present at the physicallocation. A business may desire to provide a representation of theconsumer product such that a consumer may visually observe what thedesired consumer product may look like electronically with sufficientdetail to provide the consumer with confidence when making a purchase.

SUMMARY

In one embodiment, a method for electronically generating a single imageis disclosed. The method comprises receiving a selection of a firstvariation of a first consumer product layer with a first depth attributefrom a plurality of variations of the first consumer product layer, eachvariation comprising at least one surface. The method further includesreceiving a selection of a second variation of a second consumer productlayer with a second depth attribute from a plurality of variations ofthe second consumer product layer, each variation comprising at leastone surface. The method also includes layering the first variation ofthe first consumer product layer in the single image based at least onthe first depth attribute; and layering the second variation of thesecond consumer product layer in the single image based at least on thesecond depth attribute.

BRIEF DESCRIPTION OF THE DRAWINGS

A more complete understanding of the disclosed embodiments andadvantages thereof may be acquired by referring to the followingdescription taken in conjunction with the accompanying drawings, inwhich like reference numbers indicate like features, and wherein:

FIG. 1 illustrates an example of a customizable consumer product, inaccordance with the present disclosure;

FIG. 2 illustrates an example of variations of a layer of an examplecustomizable consumer product, in accordance with the presentdisclosure;

FIGS. 3A-3C illustrate examples of variations of an alternative layer ofan example customizable consumer product, in accordance with the presentdisclosure;

FIGS. 4A-4E illustrate examples of variations of an alternative layer ofan example customizable consumer product, in accordance with the presentdisclosure;

FIGS. 5A-5E illustrate examples of variations of an alternative layer ofan example customizable consumer product, in accordance with the presentdisclosure;

FIG. 6 illustrates an example of a compiled digitized image of anexample customizable consumer product, in accordance with the presentdisclosure;

FIGS. 7A-7C illustrate examples of texture maps of an examplecustomizable consumer product, in accordance with the presentdisclosure;

FIG. 8 illustrates an example system for generating and communicating animage of a customized consumer product;

FIG. 9 illustrates an example of a database, in accordance with thepresent disclosure;

FIG. 10 illustrates an example of a layer component of a database, inaccordance with the present disclosure;

FIG. 11 illustrates an example of a variation component of a database,in accordance with the present disclosure;

FIG. 12 illustrates an example of a texture map component of a database,in accordance with the present disclosure;

FIG. 13 illustrates an example set of operations for generating a layercomponent of a database, in accordance with the present disclosure;

FIG. 14 illustrates an example set of operations for constructing adatabase, in accordance with the present disclosure;

FIG. 15 illustrates an example set of operations for generating an imageof a customized consumer product, in accordance with the presentdisclosure;

FIGS. 16A-16E illustrate example layers of an alternative example of acustomizable consumer product; and

FIG. 17 illustrates an example of a compiled image of a customizableconsumer product.

DETAILED DESCRIPTION

The present disclosure may be related to a database for dynamicallygenerating a photorealistic image of a consumer product. Thephotorealistic image may be made up of distinct layers, eachcorresponding to a particular region or feature of the consumer productthat may be variable. The different layers are compiled to create asingle, unitary composite image. In some embodiments, each layer mayinclude one or more surfaces to have a texture mapped thereon. Thetextures among the different surfaces and layers may be specificallyaligned and mapped so that the image appears as it would in real life,despite being a combination of distinctly textured images compiled in asingle image. The textures, layers, and variations may be stored in thedatabase to be called out to dynamically compile an image of acustomized consumer product.

As used herein, a photorealistic image may include a photograph, animage derived from or incorporating one or more photographs, or adigital image that accurately depicts something as it would appear inreal-life.

For customized consumer products, it may be difficult orcost-prohibitive to create visualizations of what a customer's desiredcustomized product may look like. One approach to address this may be torun a plug-in or other downloaded software in a consumer's web-browserfor generating a three-dimensional representation of the customizedproduct. However, such an approach poses a variety of problems. First,the software generating the visualization must be written for a varietyof web browsers and a variety of operating systems. It also requires aconsumer to be willing to download and utilize the software or plug-inon their computer. Such components have been notorious for theirpotential of risk to a user's computer. Second, such programs orplug-ins also impose additional resource utilization on the user'scomputer. Third, the visualization is still just a computer-generatedrepresentation of what the product may look like, and to generate aphotorealistic three-dimensional model of each iteration is veryexpensive.

An alternative approach may be to take a digital photograph of eachiteration of a customized consumer product based on the options offeredby the manufacturer of a customized consumer product. However, as thenumber of options increases, the number of iterations increasesdramatically, which may be cost-prohibitive in a variety of ways.

For example, if a consumer were to select features for a customizedcouch, the consumer might pick one of five arm styles, one of three backtypes, one of five feet types, and one of thirty materials. Such anarrangement would require:

5 arms×3 backs×5 feet×30 materials=2,250 iterations

It may be extremely costly for a manufacturer to create a physical copyof each of the thousands of iterations of the consumer product, just tobe photographed. Such an approach may also be resource-costly tomaintain and store that many digital pictures on a server. These costsmay be amplified in markets in which a high rate of change is seen inconsumer products. For example, in some furniture or clothing marketsegments, styles, materials, and products may change multiple times ayear. Thus, the costs associated with generating these images may not bejust a one or two time investment, but may be a frequently-repeatedcost.

Some consumer products may include different surface textures ormaterials. For example, couches, cabinets, flooring, and clothing allmay have a physical layout that may be separate and distinct from thesurface texture or material of the consumer product. To maintain theintegrity and visual appeal of digitized photographs in such consumerproducts, some approaches may take digital photographs of each iterationof the physical layout of the consumer product, and apply a texture toeach physical configuration. For example, if a customized couch werebeing imaged, each possible iteration of the physical layout of thecustomized couch may be captured in a digitized photograph, and then thetexture may be applied to the couch in the digital photograph. Using theexample from above, such an approach might require:

5 arms×3 backs×5 feet=75 iterations

Using those seventy-five iterations as a base, the thirty materials maythen be mapped to them based on a consumer's selection of a giveniteration of the physical layout and a selected material or texture.

For the purposes of this disclosure, texture may mean the visualappearance of a consumer product with a variety of possible visualappearances, and may include both the material used and the appearanceof the material. For example, this may include the style, material,pattern, image, repeat unit, or combinations thereof of a consumerproduct with upholstery, fabric, textile, or leather. As anotherexample, it may include the material, finish, color, stain, orcombinations thereof of a consumer product with wood. It may include thematerial, finish, color, plating, or combination thereof of a consumerproduct with metal or metal-appearing material. It may also include anycombination of the above, for example, a consumer product with acombination of metal, wood, and fabric. These examples are non-limitingand merely serve to illustrate a few examples of the visual appearanceof a consumer product with a variety of possible visual appearances.Additionally, a texture need not be applied to a consumer product, butmay be applied to any component, feature, or material with a variety ofpossible visual appearances, for example, a wall or a floor.

A texture may be represented by a digital photograph of the texture, acomputer-generated texture, or combinations thereof.

A manufacturer of a consumer product may designate a particular focalpoint or desired orientation of a given texture by selecting a point inthe texture as a reference point. For example, for a particular floralpattern in furniture fabric, a manufacturer may designate the edge of aparticular petal of a flower in the pattern as the reference point, or amanufacturer may designate a particular point in a stripe as thereference point. This may be a point that is desired to be accented, ormay facilitate providing a distinctive look or feel to the consumerproduct based on the placement of the reference point. This may also bean arbitrary choice by the manufacturer. In some embodiments, amanufacturer might designate a particular orientation, or other factorsto dictate how they will manufacture a given product. With reference toFIG. 1, to apply a texture to a surface 110 of a consumer product 100, atexture map 120 may be created for each surface 110. This may also bereferred to as a surface map. Texture map 120 may be any set ofguidelines, gridlines, parameters, restrictions, instructions, orcombinations thereof indicating how a texture should be warped,modified, curved, or draped on surface 110. For example, a Coons surfacecorresponding to the surface of the consumer product may be created bydefining a curve for each of the four edges of the surface, those fourcurves meeting at four corners. Linear interpolation may be used tointerpolate between the two pairs of edges, producing a surface that mayinclude a grid 130 of unit squares. An image of a texture may be mappedon to grid 130 corresponding to the Coons surface. Any other method maybe used to create texture map 120 of surface 110 of consumer product100. For example, bilinear interpolation may be used, or bicubicallyblended or partially bicubically blended Coons patches may be used, or asurface interpolated based on the corners rather than the edges may beused.

Texture map 120 may include a sync point 140. Sync point 140 may includea designation of a particular point on surface 110 to correspond to themanufacturer's indicated reference point when the texture is mapped ontosurface 110 using texture map 120. This may ensure that a particulartexture appears visually on a given surface according to amanufacturer's desired specifications. This may also allow two differentmanufacturers to produce a different looking design, despite using thevery same texture.

Designating the sync point 140 may play a role in how a texture willvisually transition from one surface to another. For example, the syncpoint 140 may play a role in how an upholstery pattern will transitionfrom the seat of a sofa to the arms of the sofa. Some manufacturers mayuse a four-way match, meaning the texture matches to surfaces in fourdirections. In the example of a sofa, the upholstery pattern on the sofaseat may match in two directions (vertically) when transitioning to thesofa back and to the front of the sofa, and two directions(horizontally) for each arm. Some manufacturers may also use a two-waymatch, meaning the texture matches to surfaces in two directions. Forexample, the pattern may match in two directions (vertically) whentransitioning to the sofa back and to the front of the sofa. Othermatching schemes may be used. For example, point match, spot match, orflow match schemes. Whichever matching scheme may be used, the syncpoint 140 for each surface 110 may be selected such that when thereference point of a texture is aligned with the sync point 140 oftexture map 120, a manufacturer's desired matching scheme is accuratelydepicted in the texture applied to the image as the texture transitionsbetween surfaces 110. Similarly, a manufacturer designated orientation,or other characteristic may be utilized in mapping a texture to asurface.

In determining how to map a texture to a consumer product, other factorsmay be included. For example, scale, saturation, shading, or any othercharacteristic for a particular texture may be included. Scale may bebased on the size of the furniture with respect to a repeat pattern of atexture. Saturation and shading may be based on a user choiceimplemented in software to facilitate a realistic texture and lightingmodel.

With reference to the example described above of a custom sofa with fivearm, three back, and five feet possibilities, seventy-five digitalpictures of the possible physical configurations of a couch may becaptured or received. Each of those seventy-five physical configurationsmay have each of their surfaces individually texture mapped and given async point such that when a given texture is applied to one of theseventy-five iterations, a photorealistic image of the customized couchmay be generated with the texture applied exactly how the manufacturewould manufacture the customized couch. However, generating such a largenumber of digital pictures with corresponding texture maps may be costlyfor a manufacturer to implement. This may be amplified when the numberof options and the number of variations of the options increases.

According to some embodiments of the present disclosure, theabove-described process of texture mapping images of a consumer productmay be modified. Each region of a consumer product that varies may beseparated into a distinct image, and those images used to dynamicallycompile a single image rather than preparing a single imageindependently for each possible iteration. For example, each region thatis variable may be a layer given a depth attribute such that a pluralityof layers are placed on top of each other according to the depthattributes to produce a compiled, single image of the consumer product.The result may be a photorealistic image.

As used herein, the term layer may refer to a logical designationcorresponding to a particular region or feature of a consumer productthat may be variable and may occur at varying depths in a compiledimage. For example, a layer may correspond to a variable couch back orvariable arms of a couch. In other embodiments, a layer may correspondto a floor or a wall. In yet other embodiments, a layer may be empty.Layers or certain selections within a layer may be compiled on top ofeach other, beneath each other, or combinations thereof to form acompiled image.

FIGS. 2-6 illustrate an example embodiment of a customizable sofa withvariable portions separated into distinct images.

FIG. 2 depicts one digitized image of one portion of a customizablesofa. For example, FIG. 2 depicts a region 200 of a customizable sofathat may be common to all variations or iterations of the sofa. Whileonly a single region 200 may be illustrated, it will be appreciated thatany number of regions or portions, whether adjacent or not, may beincluded as being common to all variations of the sofa. Additionally,this may optionally include a shadow of the entire sofa or just thepictured region of the sofa. A first layer of the compiled image maycomprise region 200. While a layer is described that is common to eachvariation, it will be appreciated that for some commercial products,there may not be a region that is common to all variations. In suchembodiments, this layer may be completely omitted or may be a completelytransparent layer. This layer may also be given a depth attributecorresponding to what depth the layer should occur in the compiledimage.

The depth attribute may be any variable, numerical value, coordinate,language, instruction, or combination thereof indicating a position ofdepth in the compiled image relative to the other layers. For example, adepth attribute may have a value of zero at the bottom layer, andincrease incrementally for each successive layer.

To generate the image shown in FIG. 2, a digitized photograph of anembodiment of the customizable consumer product containing region 200may be received. Other visual elements besides region 200 may then beremoved from the image, and the remainder of the image besides region200 may be made transparent.

In some embodiments, the digitized picture of region 200 may be receivedwith a texture already visible on it. The texture may be removed,leaving a plain image of region 200 without a texture applied to it.This may correspond to a white depiction of region 200, although anyplain depiction may be used. In some embodiments, the shading or otherinterplay with light may be retained when the texture is removed.

FIGS. 3A-3C illustrate example embodiments of a second layer of thecompiled image. FIGS. 3A-3C illustrate examples of variations of avariable region of a customized sofa: the sofa back. This variableregion may be separated into distinct images, as illustrated in FIGS.3A-3C. Each of FIGS. 3A-3C may be variations of the same second layer.This second layer may include a depth attribute. In this way, regardlessof which style or variation of back is selected in customizing the sofa,the layer corresponding to the sofa back may occur at the same depth inthe compiled image. Alternatively, the depth attribute may be assignedto the particular variation rather than the layer generally. In such anembodiment, different variations of the sofa back could occur atdifferent depths, depending on the variation. For example, if oneparticularly large variation overlapped other parts of the sofa, or weredesigned to sit in front of parts of the sofa, it may be desired to havedifferent variations of the same region at different depths. As shown inFIGS. 3A-3C, the variable regions may be configured such that whenplaced in a compiled image, the back appears to be part of a sofa,rather than a distinct image. The images of these variations may begenerated as described with reference to FIG. 2. For example, the imagesmay begin as digital photographs of the variations to facilitateproducing a photorealistic compiled image.

FIGS. 4A-4E illustrate example embodiments of a third layer of thecompiled image. FIGS. 4A-4E illustrate examples of variations of anothervariable region of a customized sofa: the sofa feet. This variableregion may be separated into distinct images, as illustrated in FIGS.4A-4E. Each of FIGS. 4A-4E may be iterations of the same, third layer.This third layer may include a depth attribute. In this way, regardlessof which style or variation of feet are selected in customizing thesofa, the layer corresponding to the sofa feet may occur at the samedepth in the compiled image. Alternatively, the depth attribute may beassigned to the particular variation rather than the layer generally. Insuch an embodiment, different variations of the same region of acommercial product could occur at different depths, depending on thevariation. As shown in FIGS. 4A-4E, the variable regions may beconfigured such that when placed in a compiled image, the feet appear tobe part of a sofa, rather than a distinct image. The images of thesevariations may be generated as described with reference to FIG. 2. Forexample, the images may begin as digital photographs of the variationsto facilitate producing a photorealistic compiled image.

FIGS. 5A-5E illustrate example embodiments of a fourth layer of thecompiled image. FIGS. 5A-5E illustrate examples of variations of avariable region of a customized sofa: the sofa arms. This variableregion may be separated into distinct images, as illustrated in FIGS.5A-5E. Each of FIGS. 5A-5E may be iterations of the same, fourth layer.This fourth layer may include a depth attribute. In this way, regardlessof which style or variation of arm is selected in customizing the sofa,the layer corresponding to the sofa arms may occur at the same depth inthe compiled image. Alternatively, the depth attribute may be assignedto the particular variation rather than the layer generally. In such anembodiment, different variations of sofa arms could occur at differentdepths, depending on the variation. As shown in FIGS. 5A-5E, thevariable regions may be configured such that when placed in a compiledimage, the arms appear to be part of a sofa, rather than a distinctimage. The digitized images of these variations may be generated asdescribed with reference to FIG. 2. For example, the images may begin asdigital photographs of the variations to facilitate producing aphotorealistic compiled image.

FIG. 6 depicts an example of a dynamically compiled image. As shown inFIG. 6, one variation for each of the layers may be selected to create acustomized sofa. Each of those layers may be dynamically compiled into asingle image of the desired combination. The first layer of FIG. 2 mayhave the lowest depth attribute and so be at the back of the compiledimage. Next, the second layer corresponding to the sofa backs may havethe next depth attribute, and so may be layered into the image next. Forexample, as shown in FIG. 6, the back shown in FIG. 3B may be selectedand layered into the compiled image. Next, the third layer correspondingto the sofa feet may have the next depth attribute, and so may belayered into the image next. As shown in FIG. 6, the feet shown in FIG.4A may be selected and layered into the compiled image. Lastly, thefourth layer corresponding to the sofa arms may have the last depthattribute, and so may be layered into the image last. As shown in FIG.6, the arms shown in FIG. 5A may be selected and layered into thecompiled image.

As shown in FIG. 6, by compiling each of the layers together, acompleted image of the customized sofa may be dynamically created,without a previous image of the completed product stored. Additionally,the layers may be compiled in such a way that the layers appear to be asingle photorealistic image rather than distinct separate images. Insome embodiments, this may be the final image to be used, devoid ofmapping a texture to the compiled image.

In creating the individual pictures of the variable regions of theconsumer product, each of these individual variations may be given atexture map for each surface of that particular variation. FIGS. 7A-7Cillustrate examples of generating texture maps for example variations ofdifferent layers of a customizable sofa. FIG. 7A illustrates a texturemap 720 a being generated for surface 710 a of the customizable sofaincluding sync point 740 a. In addition, it will be appreciated thatsurfaces 710 b, 710 c, and 710 d may also have texture maps generated.

Similar operations are illustrated in FIGS. 7B and 7C. For example, FIG.7B illustrates a texture map 720 b with sync point 740 b being generatedfor a particular variation of sofa feet. FIG. 7C illustrates a texturemap 720 c with sync point 740 c being generated for a particularvariation of sofa back. It will be appreciated that these are merelyexemplary, and each surface of each variation may have a texture mapgenerated.

In analyzing the number of texture maps to be created, and using theexample above, rather than having to create digital photographs andcorresponding texture maps for each complete iteration, i.e.

5 arms×3 backs×5 feet=75 iterations

a much smaller number may be created, as they are merely layered intothe overall picture:

5 arms+3 backs+5 feet+1 common layer=14 iterations

This allows for an additive cost rather than a multiplicative cost foradding variability. For example, if three different kinds of pillowswere to be added to the example sofa, imaging and texture-mapping eachiteration would require:

5 arms×3 backs×5 feet×3 pillows=225 iterations

while in contrast, the layered approach may only require:

5 arms+3 backs+5 feet+3 pillows+1 common layer=17 iterations.

This may provide a substantial savings in the number of texture maps andphysical embodiments of the customized sofa that must be created andimaged.

As will be appreciated, the number of layers and the number ofvariations may vary, while still remaining within the scope of thepresent disclosure. For example, pillows, decorative stitches,contrasting welt, or skirting may be added to the sofa shown in FIG. 6.As will also be appreciated, the same principles may be applied to anyconsumer product that may be customizable, where a “consumer” is anyindividual, business, or other entity requiring or desiring a customizedproduct. For example, custom appliance design, custom automobile design,custom cabinetry design, custom airplane design, or any other consumerproduct may be used. This may also be particularly beneficial when aconsumer product has a texture that must be mapped to a physical layoutof the consumer product and a consumer desires to see a photorealisticimage of what their customized consumer product will look like.

In some embodiments, additional layers beyond the customizable consumerproduct may be included in the compiled image. For example, a layercorresponding to a floor, one or more walls, trim, molding, wainscoting,rugs, accessories, or any combination thereof may be included. Each ofthese layers may also have a texture mapped thereon. For example, inaddition to the variable regions of a customizable consumer product, thefloor, including a rug, and the wall, including wainscoting, may bedisplayed as a layer with a lower depth attribute than the customizableconsumer product. For example, a wall and/or floor may be the lowestdepth attribute and be layered first, followed by wainscoting and/ortrim and/or a rug or other accessories. The customizable consumerproduct may then be layered on top of these layers. This may allow auser to observe how a customizable consumer product may appear visuallynext to particular paint colors or flooring, for example, if the userhas a particular room they want a customized sofa to go in, they canobserve the sofa custom-made against the color scheme of their room.Other examples of layers may include sky, greenery, a patio, scenery, orother backgrounds against which a customizable consumer product may beused or placed.

In some embodiments, more than one texture may be mapped to a singlelayer in the compiled image. For example, a layer with more than onesurface may have a different texture selected for each surface. Inalternative embodiments, a layer may not have any textures applied toone or more of its surfaces. In other embodiments, none of the surfacesmay have a texture mapped thereon.

Some embodiments of the present disclosure may be implemented in aninternet or network based environment, as shown in FIG. 8. FIG. 8illustrates an example of a system for generating and transmitting acompiled image to a user of a computer. System 800 may include a clientcomputer 810 in communication with a server computer 820 via network801. As shown in FIG. 8, client computer 810 may include a web browserapplication 812 running on client computer 810 to facilitate clientcomputer 810 communicating with server 820 to view and interact withelectronic material stored on server 820. Server 820 may include aweb-hosting application 822 running on server 820 to facilitate server820 communicating with client 810. Server 820 may include a database900. In some embodiments, database 900 may be comparable to that shownin FIG. 9.

Network 801 may be any communication media or transmission mediaoperable to facilitate communication between client computer 810 andserver 820. This may include a local-area network (LAN), wide-areanetwork (WAN), an intranet, or the internet. Additionally, while adirect communication line is shown, it will be appreciated that anynumber of steps, routings, or hops may occur in the communication pathbetween client 810 and server 820.

A user of client computer 810 may desire to see an image of acustomizable consumer product according to the user's choices. A usermay select one or more textures and a variation of each layer of acustomized consumer product at client 810. Those selections may becommunicated to server 820 over network 801. Server 820 may dynamicallycompile an image of the customized consumer product based on the user'schoices using database 900 as described herein. Server 820 may thentransmit the compiled image to client 810 over network 801. In this way,client 810 may only receive a single image from server 820, despiteselecting features of a customizable consumer product. Additionally,because the image is generated dynamically at server 820, a user mayupdate or modify their selections and be sent a single image in responsewith a newly compiled image. This may also allow a user of client 810 toobserve an image of customized consumer products without installingseparate software or plug-ins. Additionally, this may allow server 820to operate independently of the operating system, web browser 812, orother constraints of client 810 as all that is being sent to client 810is an image.

In an alternative embodiment, database 900 may be contained on a thirdcomputer in communication with server 820. For example, an iframeelement of hyper-text markup language (HTML) may be used. In such anembodiment, client 810 may transmit the user's selections to server 820.Server 820 may then communicate those selections to the third computercontaining database 900. In some embodiments, the third computer willthen send the single, compiled image to server 820, which may in turnsend the image to client 810. Alternatively, the individual layers maybe sent to server 820, and server 820 may compile the layers into asingle image to be sent to client 810. In such an embodiment, thetextures of database 900 may be stored at server 820 and applied there,rather than being applied at the third computer, or the textures may beapplied by the third computer before passing the layers to server 820.

In some embodiments, the user may be provided with a default physicallayout of a customized product, and the user may then select one or morefeatures to modify the default layout. The user may also select texturesfor a given layer, a given surface within a layer, or combinationsthereof. In some embodiments, a newly compiled image may be communicatedafter each individual selection, or after any number of selections havebeen made. Each of these selections, mappings, and providing of imagesmay be performed in any order. For example, in some embodiments, a usermay select a variety of modifications to a physical layout beforeselecting a texture, or a user may select a plurality of textures forthe surfaces before making any selection to modify a physical layout, ora user may switch between selecting modifications to the physical layoutand selecting textures to be mapped to various surfaces in the compiledimages.

For the purposes of this disclosure, a computer may include anyinstrumentality or aggregate of instrumentalities operable to compute,calculate, determine, classify, process, transmit, receive, retrieve,originate, switch, store, display, communicate, manifest, detect,record, reproduce, handle, or utilize any form of information,intelligence, or data for business, scientific, control, or otherpurposes. For example, a computer may be a personal computer (e.g.,desktop or laptop), tablet computer, mobile device (e.g., personaldigital assistant (PDA) or smart phone), server (e.g., blade server orrack server), a network storage device, or any other suitable device andmay vary in size, shape, performance, functionality, and price. Thecomputer may include random access memory (RAM), one or more processingresources such as a central processing unit (CPU) or hardware orsoftware control logic, ROM, and/or other types of nonvolatile memory.Additional components of the computer may include one or more diskdrives, one or more network ports for communicating with externaldevices as well as various input and output (I/O) devices, such as akeyboard, a mouse, touchscreen and/or a video display. The computer mayalso include one or more buses operable to transmit communicationbetween the various hardware components.

For the purposes of this disclosure, computer-readable media may includeany instrumentality or aggregation of instrumentalities that may retaindata and/or instructions for a period of time. Computer-readable mediamay include, without limitation, storage media such as a direct accessstorage device (e.g., a hard disk drive or floppy disk), a sequentialaccess storage device (e.g., a tape disk drive), compact disk, CD-ROM,DVD, random access memory (RAM), read-only memory (ROM), electricallyerasable programmable read-only memory (EEPROM), and/or flash memory; aswell as communications media such as wires, optical fibers, microwaves,radio waves, and other electromagnetic and/or optical carriers; and/orany combination of the foregoing.

FIG. 9 illustrates an example of a database according to someembodiments of the present disclosure. Database 900 may be a directoryof information related to a customizable consumer product that may becalled out and referenced by computer-readable instructions such that animage of the customizable consumer product may be compiled. For example,in some embodiments, variations 912 of layers 910 and textures 920 of acustomizable consumer product may be stored in a database 900. Database900 may be accessed such that a single variation 912 of each layer 910may be selected, read from database 900, and used to compile an image ofa customized consumer product. Additionally, a texture 920 may beapplied to the surfaces of each of the selected variations 912 to finishthe compiled image. Database 900 may be in the form of anycomputer-readable data stored on a computer-readable media. Database 900may be stored across multiple media.

Database 900 may include one or more layers 910, for example, layers 910a, 910 b, . . . , and 910 n. Database 900 may also include one or morevariations 912 of each of those layers. For example, layer 910 a mayinclude variations 912 aa, 912 ab, . . . , and 912 an; layer 910 b mayinclude variations 912 ba, 912 bb, . . . , and 912 bn; and layer 910 nmay include variations 912 na, 912 nb, . . . , and 912 nn. Database 900may also include one or more textures 920, for example, textures 920 a,920 b, . . . , and 920 n. Each texture may include a reference point922.

It will be appreciated that the use of ellipses and the variable nindicate that any number of components may be present. Further, it willbe appreciated that only one layer 910, variation 912, or texture 920may be part of database 900. Further, n may vary for each instance of n.For example, there may be forty textures and three layers, with thefirst layer having three variations, the second layer having only onevariation, and the third layer having two variations.

FIG. 10 illustrates an example of a layer component of a database,according to some embodiments of the present disclosure. Layer 910 a maycorrespond to a particular region or feature of a customizable consumerproduct. For example, layer 910 a may correspond to the arms of acustomizable sofa, or the crown of a cabinet, or the light fixtures ofan entertainment center. In some embodiments, layer 910 a may representa variable region or feature, but need not. For example, layer 910 a mayrepresent a layer common to all iterations of the customizable consumerproduct. Alternatively, layer 910 a may correspond to a floor layer, ora wall layer.

As shown in FIG. 10, layer 910 a may include a depth attribute 1010.However, as described previously, layer 910 a need not contain depthattribute 1010. Layer 910 a may also include one or more variations 912,for example, variation 912 aa as shown. While an example depiction oflayer 910 a is provided, it will be appreciated that each of layers 910may have similar structural or logical designations.

FIG. 11 illustrates an example of a variation component of a database,according to some embodiments of the present disclosure. Variations 912aa-912 an may represent each of the iterations or variations that arepossible or selectable for a given layer 910 a. For example, if layer910 a represents the arms of a sofa, variations 912 aa-912 an mayrepresent images of each of the different arm styles separated such thatthey may be layered with other layers to form a composite image (forexample, FIGS. 5A-5E).

As shown in FIG. 11, variation 912 aa may include depth attribute 1110.In some embodiments, layer 910 a may also contain a depth attribute1010. In such an embodiment, one of depth attributes 1010 and 1110 maybe designated as a higher priority, for example, depth attribute 1110 ofvariation 912 aa may be used and depth attribute 1010 may be ignoredwhen a depth attribute is used. Stated alternatively, depth attribute1010 may be a default depth attribute for layer 1010 a, unless variation912 aa has depth attribute 1110 and then depth attribute 1110 may beused. This is merely an example, and the roles may be reversed such thatdepth attribute 1010 overrides depth attribute 1110.

Variation 912 aa may also include one or more surfaces 1120 a, 1120 b, .. . , and 1120 n. Each of the one or more surfaces 1120 may have acorresponding texture map 1130 that has been generated and stored indatabase 900 to provide instructions as to how a texture should bemapped to the corresponding surface 1120. While an example depiction ofvariation 912 aa is provided, it will be appreciated that each ofvariations 912 may have similar structural or logical designations.

FIG. 12 illustrates an example of a texture map component of a database,according to some embodiments of the present disclosure. As shown inFIG. 12, texture map 1130 a may include one or more sync points 1210 a,1210 b, . . . , and 1210 n. In some embodiments, texture map 1130 a mayinclude only a single sync point 1210 such that each texture's referencepoint may correspond to the same sync point for a given surface.Alternatively, texture map 1130 a may include a plurality of sync points1210. For example, each sync point 1210 may correspond to a differentmanufacturer's specification of where on a given surface a sync pointshould be such that a reference point in a texture is portrayed from acertain vantage point. Alternatively, a manufacturer may have multiplesync points 1210, with one of the sync points 1210 selected based on atype of the texture used. In such an embodiment, texture 920 may alsoinclude a type attribute. While an example depiction of texture map 1130a is provided, it will be appreciated that each of texture maps 1130 mayhave similar structural or logical designations.

The type attribute may designate which of a texture map's sync pointsshould be used for a given texture. For example, this may be based onthe size of the repeat unit of a texture, or may be based on the type ofmaterial used, or may be an arbitrary choice. For example, type maydesignate one of stripes, floral, plaid, weave, or any other generalcategory of material.

In some embodiments, rather than texture map 1130 having multiple syncpoints 1210, a texture may have multiple reference points. In this way,the same result may be achieved by modifying which of the twocorresponding points, the sync point and the reference point, arechanged. Instead of changing where the same reference point on a giventexture will map to by having multiple sync points, the point on thetexture may be changed by having multiple reference points and a singlesync point. Alternatively, multiple sync points and multiple referencepoints may be used.

With reference to previous figures, an example of the operation ofdatabase 900 with the example of a customizable sofa will be described.To generate the image shown in FIG. 6, a single variation 912 for eachof the layers 910 may be selected. Each of those variations 912 oflayers 910 may be compiled into a single image of the desiredcombination. A first layer 910 may have the lowest depth attribute 1010and so be at the back of the compiled image, and only have a singlevariation 912. Next, a second layer 910 corresponding to the sofa backsmay have the next depth attribute 1010. The variation 912 of sofa backshown in FIG. 3B may be selected and layered into the compiled image.Next, a third layer 910 corresponding to the sofa feet may have the nextdepth attribute 1010, and so may be layered into the image next. Thevariation 912 of sofa feet shown in FIG. 4A may be selected and layeredinto the compiled image. Lastly, a fourth layer 910 corresponding to thesofa arms may have the last depth attribute 1010, and so may be layeredinto the image last. The variation 912 of the sofa arms shown in FIG. 5Amay be selected and layered into the compiled image.

Further, a texture 920 may be selected to be applied to each of thesurfaces 1020 of each of the selected variations 912 according to thetexture maps 1030. In particular, each of the sync points 1210 of thetexture maps 1030 may align with the reference point 922 of the texture920.

In some embodiments, the interaction of a texture with light may also berepresented in the compiled image. In such embodiments, when creatingthe images of each variation, the interaction of the light with thesurfaces may be depicted in the image. For example, the shadows andreflective nature of a surface may be depicted in the image. In someembodiments, once the digitized images of variations are received, forexample those seen in FIGS. 5A-5E, this shadowing and reflection may becaptured in the form of a negative of the image. This may then bereapplied after a texture has been applied. In this way, the interactionwith light may be accented and amplified such that the texture mayappear shiny. This may be desirable for some textures, such as polishedmetals instead of dull metals, or leathers instead of drab upholstery.In some embodiments, the application of the interaction with light maybe applied based on the type attribute; for example, when a typeattribute indicates that the type of texture is reflective leather.

In some embodiments, the following equations may be used to amplify theinteraction of light with a surface.

F(x,y)=G(x,y)(T(x,y))

where F may be the function to compute the final image pixel color atimage location (x, y), T may be the function to compute the colorcreated by combining the relevant texture pixel with the shadedbackground image pixel at image location (x, y), and G may be thefunction to compute the light-amplified color pixel. For example:

G(x,y)=RGB(G _(r)(x,y),G _(g)(x,y),G _(b)(x,y))

G _(r)(x,y)=T _(r)(x,y)+=(255−T _(r)(x,y))*D;

G _(g)(x,y)=T _(g)(x,y)+=(255−T _(g)(x,y))*D

G _(b)(x,y)=T _(b)(x,y)+=(255−T _(b)(x,y))*D

D=(255−GIr(x,y))/255

where the subscript r may be the red channel, the subscript g may be thegreen channel, and b may be the blue channel. Additionally, GIr may bethe negative image acquired of the underlying surface depicting theinteraction of light with the surface.

In some embodiments, a smoothing algorithm may be used to addresspixelation at the edges of the layers and the complete image. Forexample, the edges defining the boundaries of a surface may be a curve,but the electronic representation of that curve must be generated usingpixels. As each pixel must be a single color, this may lead to jaggedlines at the edges of a surface. This may be amplified when a texture isapplied to a surface, particularly a pattern with high frequency, orrapid changes in color. To overcome this, an anti-aliasing technique maybe used to minimize or smooth the jagged edges of the surface. Forexample, super-sampling may be used to take multiple samples from withina single pixel, and have the pixel display the average of the colorvalues. By displaying the average color value, rather than one extreme,the jagged edges may appear more smoothed. This may be done for eachindividual layer as a texture is mapped to the surfaces, or may be doneto the compiled image of multiple layers, or a combination of both. Insome embodiments, a final smoothing step may be taken to remove thecolor from any pixels that spill outside of an outer boundary of thecustomized consumer product.

FIG. 13 illustrates an example set of operations to generate a layercomponent to be stored in a database, according to some embodiments ofthe present disclosure. As shown in FIG. 13, operation 1310 includesstoring a depth attribute for a layer component of a database. Forexample, if this layer corresponded to arms of a customizable sofa, thelayer might be given a depth attribute corresponding to a depth at thetop of a compiled image.

Operation 1320 includes receiving a digitized photograph of at least onevariation of the layer. Each variation may include one or more surfaces.For example, this may include receiving a digitized photograph of atleast one of the variations of sofa arms that may be used in thecustomized sofa (for example, those shown in FIGS. 5A-5E). In someembodiments, this may be a computer-generated image rather than adigitized photograph.

Operation 1330 includes removing other components of the digitizedphotograph besides the variation. For example, this may include removinga sofa back, a sofa seat, sofa feet, or other features such that onlythe sofa arms remain in the photograph. This may also include removingany texture from the original photograph of the variation such that aplain representation of the variation remains. For example, the patternof upholstery on the arms may be removed such that another texture maybe applied to the arms later. This may also include causing theremainder of the photograph besides the variation to be transparent,such that when it is layered with other layers in a compiled image theother images may be seen through the transparent portions of thephotograph.

Operation 1340 includes defining the boundary curves and corners foreach of the surfaces of the variation. For example, this may includedefining the curves and corners for each of the surfaces of the arms ofthe sofa of the particular variation.

Operation 1350 includes generating a texture map for each of thesurfaces of the variation. For example, this may include bilinearlyinterpolating between the boundary curves to create a Coons surface foreach of the surfaces on the sofa arms of the particular variation.

Operation 1360 includes designating at least one sync point for each ofthe surfaces. Operation 1370 includes storing the variation in the layercomponent of the database. Operation 1380 includes repeating operations1330-1370 for each of the variations for which a digitized photographwas received at operation 1320.

While operations 1310-1380 are shown in a linear fashion, it will beappreciated that these steps may be done in a different order, or donesimultaneously. For example, operation 1310 may be performed afteroperation 1380, or operation 1330 may be performed after operation 1350or 1360.

FIG. 14 illustrates an example set of operations to generate a database,according to some embodiments of the present disclosure. As shown inFIG. 14, operation 1410 includes receiving one or more digitizedphotographs of possible variations of a first layer. Each of thesevariations may include one or more surfaces. For example, if thedatabase were being constructed for compiling an image of a customizablecouch, the first layer might correspond to the back of a sofa, anddigitized photographs of variations of the sofa back might be received.In some embodiments, a computer-generated image may be received insteadof a digitized photograph.

Operation 1420 includes receiving one or more digitized photographs ofpossible variations of a second layer. Each of these variations mayinclude one or more surfaces. For example, the second layer mightcorrespond to the feet of a sofa, and digitized photographs ofvariations of the sofa feet might be received. In some embodiments, acomputer-generated image may be received instead of a digitizedphotograph.

Operation 1430 includes generating a texture map for each of thesurfaces of each of the variations. This may include designating one ormore sync points for each of the texture maps. As described previously,generating a texture map may include defining boundary curves of asurface and bilinearly interpolating between the curves to create aCoons surface such that a texture may be warped according to the Coonssurface.

Operation 1440 includes providing depth attributes to the first andsecond layers. Operation 1450 includes storing the layers, variations,and texture maps in a database. For example, this may include storingthe variations as sub-components of the layer component of the databaseand the texture maps as sub-components of the variations and associatedwith the surfaces of the variations.

Operation 1460 includes receiving one or more textures. For example,this may include receiving digital representations of the textures whichmay be used on a customized sofa. Each texture may also include areference point. Operation 1470 includes storing the one or moretextures in the database.

While operations 1410-1470 are shown in a linear fashion, it will beappreciated that these steps may be done in a different order, and/ordone simultaneously. For example, operations 1460-1470 and operations1410-1450 may be done simultaneously, or operations 1460-1470 may beperformed before operations 1410-1450. As an alternative example,operation 1440 may be done before operation 1430. Additionally, it willbe appreciated that these operations may be modified or repeated toinclude any number of layers, and any number of variations within thoselayers. For example, there might be four layers, and one of those layersmight only have one variation.

FIG. 15 illustrates an example set of operations for generating an imageof a customized consumer product, in accordance with some embodiments ofthe present disclosure. Operation 1510 includes selecting a firstvariation of a first layer, the variation having at least one surface.This may include selecting the variation from a layer component in adatabase. Additionally, the variation may have associated texture mapsfor each of its surfaces that are also selected by virtue of selectingthe variation. The texture maps may include sync points. The first layermay have a depth attribute, or the variation may have a depth attribute,or they may both have a depth attribute. For example, using previousfigures, if the first layer corresponds to arms of a sofa as shown inFIGS. 5A-5E, the variation shown in FIG. 5A might be selected.

Operation 1520 includes selecting a second variation of a second layer,the second variation having at least one surface. This may includeselecting the variation from a layer component in a database.Additionally, the variation may have associated texture maps for each ofits surfaces that are also selected by virtue of selecting thevariation. The texture maps may include sync points. The second layermay have a depth attribute, or the variation may have a depth attribute,or they may both have a depth attribute. For example, if the secondlayer corresponds to the back of a sofa as shown in FIGS. 3A-3C, thevariation shown in FIG. 3B might be selected.

Operation 1530 includes selecting a texture. This may include selectingthe texture from a database, and the texture may include a referencepoint. Additionally, this may include selecting more than one texture.For example, a floral upholstery may be selected.

Operation 1540 includes layering the first variation in a compiledimage. For example, this may include reading the depth attribute of thefirst layer or the first variation, and layering the first variation ina compiled image according to the depth attribute. For example, if thefirst layer contained a depth attribute indicating that the firstvariation of the first layer was to be on the bottom of the compiledimage, the first variation of the first layer may be placed as thebottom layer.

Operation 1550 includes mapping the texture to the surfaces of the firstvariation. This may include aligning the texture such that the referencepoint of the texture and the sync point of the texture map are aligned.This may also include warping, wrapping, or draping the texture onto thesurface according to the texture map. For example, a floral upholsteryfor the customizable sofa may be selected as the texture, and thedigital image of the upholstery may be mapped onto the surfaces of thearms of the sofa selected at operation 1510. This may also includeaugmenting the light interaction for this texture. For example, if thetexture selected is leather, the light interaction for the variation maybe re-applied after the leather texture has been mapped onto thesurface. If more than one texture were selected at operation 1530, thismay include mapping the alternative texture to one or more of thesurfaces of the first variation.

Operation 1560 includes layering the second variation in the compiledimage. For example, this may include reading the depth attribute of thesecond layer or the second variation, and layering the second variationin the compiled image according to the depth attribute. For example, ifthe second layer contained a depth attribute indicating that the secondvariation of the second layer was to be on the top of the compiledimage, the second variation of the second layer may be placed as the toplayer.

Operation 1570 includes mapping the texture to the surfaces of thesecond variation. This may include aligning the texture such that thereference point of the texture and the sync point of the texture map arealigned. This may also include warping, wrapping, or draping the textureonto the surface according to the texture map. Following the aboveexample, upholstery for the customizable sofa may be selected as thetexture, and the digital image of the upholstery may be mapped onto thesurfaces of the back of the sofa selected at operation 1520. This mayalso include augmenting the light interaction for this texture. Forexample, if the texture selected is leather, the light interaction forthe variation may be re-applied after the leather texture has beenmapped onto the surface. If more than one texture were selected atoperation 1530, this may include mapping the alternative texture to oneor more of the surfaces of the second variation.

While operations 1510-1570 are shown in a linear fashion, it will beappreciated that these steps may be done in a different order, and/ordone simultaneously. For example, operations 1540-1550 and operations1560-1570 may be done simultaneously, or operations 1560-1570 may beperformed before operations 1540-1550. As an alternative example,operation 1550 may be done after operation 1560. Alternatively,operations 1510, 1520, and 1530 may be done concurrently, or in anyorder. Additionally, it will be appreciated that these operations may bemodified or repeated to include any number of layers, and any number ofvariations within those layers. For example, there might be four layers,and one of those layers might only have one variation. For mostembodiments only a single variation for each layer may be selected.

FIGS. 16A-16E and 17 illustrate an example embodiment of the presentdisclosure. For example, FIGS. 16A-16E illustrate examples of variationsof a vent hood. FIG. 17 illustrates an example compiled image of thevent hood using the variations of FIGS. 16A-16E.

Although the present disclosure has been described in detail, it shouldbe understood that various changes, substitutions, and alterations canbe made hereto without departing from the spirit and the scope of thedisclosure as defined by the appended claims.

What is claimed is:
 1. A method for electronically generating a singleimage comprising: receiving a selection of a first variation of a firstconsumer product layer with a first depth attribute from a plurality ofvariations of the first consumer product layer, each variationcomprising at least one surface; receiving a selection of a secondvariation of a second consumer product layer with a second depthattribute from a plurality of variations of the second consumer productlayer, each variation comprising at least one surface; layering thefirst variation of the first consumer product layer in the single imagebased at least on the first depth attribute; and layering the secondvariation of the second consumer product layer in the single image basedat least on the second depth attribute; wherein each surface includes atexture map including a sync point, the sync point selected so thattransitions between the at least one surface of the first consumerproduct layer and the at least one surface of the second consumerproduct layer in the single image accurately depict how a consumerproduct produced by the manufacturer appears.
 2. The method of claim 1,further comprising: receiving a selection of a texture from a pluralityof textures, each texture including a reference point configured tocorrespond to the sync point; mapping the texture to the at least onesurface of the first variation, the texture mapped to the surfaces suchthat the reference point coincides with the sync points, the mappingbased at least on the texture map for each surface of the firstvariation; and mapping the texture to the at least one surface of thesecond variation, the texture mapped to the surfaces such that thereference point coincides with the sync points, the mapping based atleast on the texture map for each surface of the second variation. 3.The method of claim 1, wherein the first consumer product layer and thesecond consumer product layer correspond to at least one of a sofa,loveseat, ottoman, chair, or sectional couch.
 4. The method of claim 1,further comprising applying a smoothing algorithm to address pixelationat edges of the first consumer product layer.
 5. The method of claim 1,wherein the first consumer product layer is derived from at least onephotograph or digital photograph.
 6. The method of claim 1, wherein thesingle image is a photorealistic image.
 7. The method of claim 2,further comprising utilizing an alternative sync point of at least oneof the surfaces based on a type attribute of the selected texture to bemapped on the at least one of the surfaces.
 8. A non-transitorycomputer-readable medium containing instructions, that when executed bya processor, are configured to: receive a selection of a first variationof a first consumer product layer with a first depth attribute from aplurality of variations of the first consumer product layer, eachvariation comprising at least one surface; receive a selection of asecond variation of a second consumer product layer with a second depthattribute from a plurality of variations of the second consumer productlayer, each variation comprising at least one surface; layer the firstvariation of the first consumer product layer in the single image basedat least on the first depth attribute; and layer the second variation ofthe second consumer product layer in the single image based at least onthe second depth attribute; wherein each surface includes a texture mapincluding a sync point, the sync point selected so that transitionsbetween the at least one surface of the first consumer product layer andthe at least one surface of the second consumer product layer in thesingle image accurately depict how a consumer product produced by themanufacturer appears.
 9. The computer-readable medium of claim 8, theinstructions further configured to: receive a selection of a texturefrom a plurality of textures, each texture including a reference pointconfigured to correspond to the sync point; map the texture to the atleast one surface of the first variation, the texture mapped to thesurfaces such that the reference point coincides with the sync points,the mapping based at least on the texture map for each surface of thefirst variation; and map the texture to the at least one surface of thesecond variation, the texture mapped to the surfaces such that thereference point coincides with the sync points, the mapping based atleast on the texture map for each surface of the second variation. 10.The computer-readable medium of claim 8, wherein the first consumerproduct layer and the second consumer product layer correspond to atleast one of a sofa, loveseat, ottoman, chair, or sectional couch. 11.The computer-readable medium of claim 8, the instructions furtherconfigured to apply a smoothing algorithm to address pixelation at edgesof the first consumer product layer.
 12. The computer-readable medium ofclaim 8, wherein the first consumer product layer is derived from atleast one photograph or digital photograph.
 13. The computer-readablemedium of claim 9, wherein the single image is a photorealistic image.14. The computer-readable medium of claim 8, the instructions furtherconfigured to utilize an alternative sync point of at least one of thesurfaces based on a type attribute of the selected texture to be mappedon the at least one of the surfaces.
 15. A system comprising: one ormore processors; and a non-transitory computer-readable mediumcontaining instructions, that when executed by the one or moreprocessors, are configured to: receive a selection of a first variationof a first consumer product layer with a first depth attribute from aplurality of variations of the first consumer product layer, eachvariation comprising at least one surface; receive a selection of asecond variation of a second consumer product layer with a second depthattribute from a plurality of variations of the second consumer productlayer, each variation comprising at least one surface; layer the firstvariation of the first consumer product layer in the single image basedat least on the first depth attribute; and layer the second variation ofthe second consumer product layer in the single image based at least onthe second depth attribute; wherein each surface includes a texture mapincluding a sync point, the sync point selected so that transitionsbetween the at least one surface of the first consumer product layer andthe at least one surface of the second consumer product layer in thesingle image accurately depict how a consumer product produced by themanufacturer appears.
 16. The computer-readable medium of claim 15, theinstructions further configured to: receive a selection of a texturefrom a plurality of textures, each texture including a reference pointconfigured to correspond to the sync point; map the texture to the atleast one surface of the first variation, the texture mapped to thesurfaces such that the reference point coincides with the sync points,the mapping based at least on the texture map for each surface of thefirst variation; and map the texture to the at least one surface of thesecond variation, the texture mapped to the surfaces such that thereference point coincides with the sync points, the mapping based atleast on the texture map for each surface of the second variation. 17.The computer-readable medium of claim 15, the instructions furtherconfigured to apply a smoothing algorithm to address pixelation at edgesof the first consumer product layer.
 18. The computer-readable medium ofclaim 15, wherein the first consumer product layer is derived from atleast one photograph or digital photograph.
 19. The computer-readablemedium of claim 15, wherein the single image is a photorealistic image.20. The computer-readable medium of claim 16, the instructions furtherconfigured to utilize an alternative sync point of at least one of thesurfaces based on a type attribute of the selected texture to be mappedon the at least one of the surfaces.